\documentclass[12pt,twiside,a4paper]{book}
\usepackage{feynmp} % 这个宏包可以用来在 LaTeX 中使用 MetaFont 图形元素
\usepackage{xeCJK} % 使用xeCJK处理中文
\usepackage{diagbox} % 使用 diagbox 宏包
\usepackage[centertags]{amsmath}
\usepackage{amsfonts}
\usepackage{amsthm}
\usepackage{newlfont}
\usepackage{makeidx}
\usepackage{wasysym}
\usepackage{geometry} 
\usepackage{graphics}
\usepackage{slashbox} 
\usepackage{fancyhdr} 
\usepackage[pdftex]{graphicx}
\usepackage{epstopdf}
\usepackage{cite}
\usepackage{listings}
\usepackage{tocbibind}
\usepackage{ulem} %
\usepackage{CJKutf8}
\usepackage[numbers,sort&compress]{natbib}
\usepackage{titlesec}

\setcounter{tocdepth}{8} % 生成目录层级
\setcounter{secnumdepth}{4}
\renewcommand\thesection{\arabic{section}}
\usepackage[pdfstartview=FitH,CJKbookmarks=true,bookmarks,bookmarksnumbered=true,
    colorlinks=true,citecolor=black,linkcolor=black,anchorcolor=green,urlcolor=black]{hyperref}
\titleformat{\chapter}[display]{\normalfont\huge\bfseries\center}{\chaptertitlename}{1pt}{\Huge}
\titleformat{\section}{\normalfont\Large\bfseries}{\thesection}{1em}{}
\titleformat{\subsection}{\normalfont\large\bfseries}{\thesubsection}{1em}{}
\titleformat{\subsubsection}{\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{}
\titleformat{\paragraph}[runin]{\normalfont\normalsize\bfseries}{\theparagraph}{1em}{}
\titleformat{\subparagraph}[runin]{\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{}
\titlespacing*{\chapter} {0pt}{10pt}{10pt}
\titlespacing*{\section} {0pt}{0.5ex plus 1ex minus .2ex}{0.3ex plus .2ex}
\titlespacing*{\subsection} {0pt}{0.25ex plus 1ex minus .1ex}{0.5ex plus .1ex}
\titlespacing*{\subsubsection}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
\titlespacing*{\paragraph} {0pt}{3.25ex plus 1ex minus .2ex}{1em}
\titlespacing*{\subparagraph} {\parindent}{3.25ex plus 1ex minus .2ex}{1em}
\numberwithin{chapter}{part}
\geometry{left=2.0cm,right=20mm,top=25mm,bottom=25mm}
\let\cleardoublepage\clearpage
\setlength\parskip{\baselineskip}

\usepackage{amssymb}
\usepackage{diagbox}
\usepackage{tipa}
\begin{document}

\author
{
%Peking University\\
%ShuwenHe\\
%1201220707@pku.edu.cn
}

\title{linux}
\maketitle
\tableofcontents % 显示目录
\newpage
\pagestyle{fancy}

%\lhead{\includegraphics{sidsa.png}}
%\rhead{}
%\lfoot{}
%\rfoot{}

\section{netstat}
netstat -nutlp|grep mysql 

\section{zip rar}
unzip linux-master.zip\\
unrar x linux-mater.rar

\section{文件命令}
mkdir cpp 创建文件夹\\
cd cpp 进入文件夹\\
vi richard.cpp\\
i进入insert模式\\
o进入下一行\\
int 整型\\
main()主函数function\\
// 单行注释\\
“”输入字符串\\
endl\\
;一行语句结束需要用分号结束\\
return 0 一个函数正确执行完成之后需要用return 0来结束\\
esc推出vi编辑器\\
:wq保存并推出 write quit\\
ls查看当前文件夹有什么文件ls - list directory contents

\section{C++编译器}
命令行使用下面的命令来检查您的系统上是否安装了gcc\\
g++ -v
g++ 编译器C++\\
使用 -o 选项指定可执行程序的文件名\\
g++ hello.cpp -o hello\\
./richard 执行编译器编译产生的二进制文件\\
指定使用C++14来编译\\
g++ -std=c++14 cpp.cpp -o cpp 

\subsection{g++常用命令选项}
-o\\
file生成指定的输出文件,用在生成可执行文件时。\\
C++ 中的分号\&语句块\\
编辑编译执行C++程序

\section{vim配置}
/etc/vim\\
set nu "显示行号\\
set cursorline " 添加绿色下划线，突出显示当前行

\section{vi编辑器}
yy->p复制粘贴一行\\
dd删除当前行

\section{tui}
1.编译 C++ 代码时需要加上 -g（或 -ggdb）选项，以便生成调试信息。\\
g++ decode.cpp -g -o decode -O2 -std=c++14 \\
2.启动gdb调试器并加载源码Text User Interface\\
gdb -tui decode\\
3.运行程序\\
run\\
4.加断点break\\
b main\\
b 3\\
5.next执行下一行语句，不会进入函数内部。
n\\
\subsection{display}
使用display命令来设置自动打印变量的值。
\subsection{info}
info breakpoints：显示当前设置的所有断点。\\
d breakpoints (Delete all breakpoints)
\subsection{s}
s\\
step执行下一行语句，如果是函数调用，则进入函数内部。
\subsection{p}
p\\
print：打印变量的值。
\subsection{bt}
bt\\
backtrace打印函数调用栈。
\subsection{c}
c\\
continue继续执行程序，直到下一个断点或程序结束。\\
调试完成后，可以使用 quit 命令退出 gdb。

\section{跳转到第几行}
:3 跳转到第3行\\
:\$跳转到最后一行

\section{g++}
g++ prime.cpp -o prime -O2 -std=c++14

\section{firewall}
\begin{lstlisting}[language=sql,breaklines = true]
sudo apt install ufw
sudo ufw status verbose
sudo ufw enable
firewall-cmd --zone=public --add-port=30881/tcp --permanent
firewall-cmd --zone=public --add-port=8991/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=8000/tcp --permanent
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
\end{lstlisting}

\clearpage
\end{document}
